Selection of a route based on prior user behavior or commercial interests

ABSTRACT

A non-transitory computer readable medium comprises instructions which cause performance of receiving a request from a user for directions to a destination, determining, based on historical user data, a commercial interest of the user, selecting a route based at least on a location related to the commercial interest being on the route, and directing the user to the destination according to the route.

BACKGROUND

Navigation, and providing instructions for individuals to reach adesired destination is a large and expanding field. Virtually every newcar, and most new mobile devices, is equipped with the ability toprovide navigation instructions. New and better ways to determine whichroute is “best” are always needed.

OVERVIEW

In general, embodiments relate to a non-transitory computer readablemedium comprising instructions which, when executed by one or moreprocessors, cause performance of operations comprising: receiving arequest from a user for directions to a destination; determining, basedon historical user data, a commercial interest of the user; selecting afirst route, of a plurality of routes, based at least on a locationrelated to the commercial interest being on the first route; anddirecting the user to the destination according to a first route.

In general, embodiments relate to a system. The system comprises atleast one network device including a hardware processor; the systembeing configured to perform operations comprising: receiving a requestfrom a user for directions to a destination; determining, based onhistorical user data, a commercial interest of the user; selecting afirst route, of a plurality of routes, based at least on a locationrelated to the commercial interest being on the first route; anddirecting the user to the destination according to a first route.

In general, embodiments relate to a method. The method comprisesreceiving a request from a user for directions to a destination;determining, based on historical user data, a commercial interest of theuser; selecting a first route, of a plurality of routes, based at leaston a location related to the commercial interest being on the firstroute; and directing the user to the destination according to a firstroute, wherein the method is performed by at least one device includinga hardware processor.

Other aspects and advantages will be apparent from the followingdescription and the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows a schematic diagram in accordance with one or moreembodiments.

FIG. 2 shows a flowchart of a method in accordance with one or moreembodiments.

FIG. 3 shows a computer system in accordance with one or moreembodiments.

DETAILED DESCRIPTION

Specific embodiments will now be described in detail with reference tothe accompanying figures. Like elements in the various figures aredenoted by like reference numerals for consistency.

In the following detailed description of embodiments, numerous specificdetails are set forth in order to provide a more thorough understanding.However, it will be apparent to one of ordinary skill in the art thatembodiments may be practiced without these specific details. In otherinstances, well-known features have not been described in detail toavoid unnecessarily complicating the description.

In general, embodiments provide a computer readable medium, a method,and a system for selecting a route based on prior user behavior orcommercial interests. In general, historical data is gathered for auser. Commercial interests of the user may then be determined based onthe historical data. A request is received from a user to be navigatedto a destination. Subsequently, potential routes are generated tonavigate the user to the destination, and the routes are ranked based ona variety of factors. The user is then navigated to his or herdestination based on the route with the highest ranking.

Commercial Interest

In one or more embodiments, one factor in determining which route tosend a user on is whether the route passes by a “commercial interest” ofthe user. A “commercial interest” may be any product(s) or service(s)that a user can purchase. Specifically, the “commercial interest” of agiven user may be determined based on historical data, and may relate tothe interests, hobbies, or other aspects of the user. Commercialinterest may be related to individual items (e.g., tennis rackets,tennis shoes, etc), categories of items (e.g., electronics, books,etc.), stores, and or any other suitable granularity and/or scope.Commercial interests may be directly related to historical data of auser (i.e., a user likes cell phones, thus a commercial interest isstores that sell cell phones, etc), or may be indirectly related orinferred from the historical data (i.e., historical data shows a userlikes to hike, thus sports stores and/or boots may be a commercialinterest, etc). Commercial interests may or may not be constant—they maychange based on time of day, week, month, seasons, life events, or anyother suitable standard. In particular, commercial interest may be usedto prioritize routes to destinations that pass by stores, vendors, orother places that match a user's commercial interest(s). Additionalexamples of commercial interests and the use of commercial interests inranking routes are discussed below.

FIG. 1 shows a system (100) in accordance with one or more embodiments.As shown in FIG. 1, the system (100) has multiple components, includingone or more network devices (e.g., network device A (105) and networkdevice B (115)), and client device (120). A network application (110) isexecuting on network device A (105) and a client application (125) isexecuting on the client device (120).

In one or more embodiments, each network device (105, 115) is a hardwaredevice that is configured to receive packets (e.g., unicast packets,multicast packets) and transmit the packets to the client device(s)connected to the network device. A network device might also beconfigured to receive packets from a client device and transmit thepacket to other network devices. The network device may include one ormore hardware processor(s), associated memory (e.g., random accessmemory (RAM), cache memory, flash memory, etc.), one or more storagedevice(s) (e.g., a hard disk, an optical drive such as a compact disk(CD) drive or digital versatile disk (DVD) drive, a flash memory stick,etc.), and numerous other elements and functionalities. The hardwareprocessor(s) may be an integrated circuit for processing instructions.For example, the hardware processor(s) may be one or more cores, ormicro-cores of a processor.

By way of an example, a client device may be directly wired orwirelessly communicatively connected to an access point, which isdirectly communicatively connected to a controller, which is connectedto a network (not shown). In the example, the network device may be theaccess point, the controller, an access point that includes thefunctionality of a controller, a switch (e.g., mobility access switch),or other such device. Additionally, by way of an example, one networkdevice may be a controller while another network device may be an accesspoint. The network device that is the access point in the example may ormay not be connected to the network via the network device that is acontroller.

Access points are digital devices that may be communicatively coupled toone or more networks (e.g., Internet, an intranet, etc.). In one or moreembodiments, the network(s) may be password protected, or secured in anyother suitable manner. Access points may be directly connected to theone or more networks or connected via a controller. In other words, anaccess point may be directly connected to a particular controller. Anaccess point may include a wireless access point (WAP) that communicateswirelessly with devices using Wi-Fi, Bluetooth or related standards andthat communicates with a wired network.

The network application (110) includes functionality for gatheringhistorical user data, determining commercial interests of a user,identifying the physical location of client devices (e.g., client device(120)), generating routes, ranking routes, sending a user navigationinstructions and other functionalities as needed for implementing theembodiments. In one or more embodiments, network application (110) maywork in conjunction with the various network devices (e.g., networkdevice A (105) and network device B (115)) to identify the physicallocation of client devices. Alternatively or additionally, a singlenetwork device may identify the location of client devices.Specifically, Wi-Fi may be used to identify the physical location ofclient devices using any suitable method, such as Wi-Fi triangulation,or other technology. In Wi-Fi triangulation, the strength of thesignal(s) received by various network devices is measured. Through therelative strengths of the signals, and the known locations of thenetwork devices, the location of client device can be determined withvery high accuracy. It will be apparent to one of ordinary skill in theart that there are many ways to identify location using Wi-Fi and, assuch, the embodiments should not be limited to the above examples.

The use of Wi-Fi for identifying the locations of client devices hasmany advantages. First, no additional software is needed for the vastmajority of client devices—whether the client device is a mobile phone,laptop, netbook, smartwatch, smartglasses, or other device, most moderndevices include functionality to send and receive Wi-Fi signals. Thisbase functionality is sufficient to identify the location of theassociated device using Wi-Fi based methods. Further, Wi-Fi basedlocation identification is able to track many different client devicessimultaneously.

Additionally, in one or more embodiments of the invention, the GlobalPositioning System (GPS) may be used to identify the locations of clientdevices and for any other location based data needed by the embodiments.GPS is a space-based satellite navigation system. Many modern devicesare equipped with GPS receivers, which enable the devices to receivesignals from multiple GPS satellites at the same time, and use theinformation in the signals to determine their exact location on earth.Similarly, many other standards used for determining location may beused for the purposes of the invention and, as such, the inventionshould not be limited to the above examples.

In one or more embodiments, network application (110) includesfunctionality for gathering historical data about a user and determiningcommercial interests of the user based on the historical data. Thehistorical data may be gathered in a variety of ways, and from a varietyof sources. In one or more embodiments, the location of a user may betracked, and inferences may be made about the user's interests based onhow long the user spends at various locations. For example, if a userspends a long time in a coffee shop, it may be inferred that the userlikes coffee. Likewise, if a user spends a long time in a bookstore, acommercial interest of the user may be determined to be books and/orreading. In one or more embodiments, the historical data may includepurchase history or transactional data. For example, when users orderitems the purchase data may be collected, and inferences may be madebased on what items the user bought. In one or more embodiments, thehistorical data may include answers to questionnaires filled out by theuser, or may include profiling data from a third party source.Additionally, the historical data may come from any other suitablesource or party. In one or more embodiments, the historical data may becollected over any time period, from minutes to years. Further, thecommercial interests of the user may be short-term (e.g., restaurantsare a commercial interest when the user may currently be hungry) orlong-term (e.g., hobbies). It will be apparent to one of ordinary skillin the art that there are many different kinds of historical data thatmay be collected and many different kinds of commercial interests and,as such, embodiments should not be limited to the above examples.

In one or more embodiments, network application (110) includesfunctionality for generating routes and navigating a user to adestination. Network application (110) may have access to a layout ofthe public area, building, or other area in which a user may be located.For example, the layout may be preloaded or stored in a local database,or may be accessed from an online website, the cloud, or any othersuitable source. The layout may identify the available paths (e.g.,roads, hallways, rooms, tunnels, etc.) which a user may take to arriveat a specified location. Network application (110) may use the layout todetermine the shortest, fastest, easiest, or any other route by which toguide a user to their desired location. In one or more embodiments,routes may be generated in any manner now known or later developed. Anynumber of routes may be generated, from one to thirty or more. Oncenetwork application (110) has generated the routes/steps to guide a userto their destination, the steps may be sent to the user's client devicein any manner now known or later developed.

In one or more embodiments, network application (110) includesfunctionality to rank routes, so that the most relevant route isselected from all generated routes. The routes may be ranked using anymethod now known or later developed. The routes may be ranked based on avariety of factors including, but not limited to: distance, expectedduration/arrival time, locations along the route (i.e., businesses orlocations relevant to the commercial interests of the user), traffic,construction, accessibility, safety, cost, time of day, and/or any otherfactors. Each factor considered in the ranking of routes may have aweight associated with it. Each of these weights may be individuallyadjustable by the user, manufacturer, entity that controls and/ordeploys the WiFi system, and/or any other suitable party. These weightsenable the different factors to have larger or smaller impacts on theoverall ranking. It will be apparent to one of ordinary skill in the artthat there are many factors that may be considered and many ways to rankroutes and, as such, embodiments should not be limited to the aboveexamples.

In one or more embodiments, client device (120) may be a computingsystem capable of wirelessly sending and/or receiving information. Forexample, client device (120) may be a laptop computer, smartphone, cellphone, personal digital assistant, tablet computer, handheld video gamesystem, or other mobile device.

In one or more embodiments, client application (125) is a softwareapplication executing on client device (120) that includes thefunctionality needed for interaction with the network devices. Clientapplication (125) may be installed by the user of client device (120) ormay come pre-installed by the manufacturer. In one or more embodiments,client application (125) is part of the operating system, or otherstandard pre-installed software, of client device (120), as theembodiments may be practiced without the installation of specializedsoftware on client devices. In one or more embodiments, client device(120) may not have client application (125) installed. Alternatively, inone or more embodiments, client application (125) may include all, or asubset, of the functionality described above for network application(110).

FIG. 2 shows a flowchart of a method for selecting a route. While thevarious steps in this flowchart are presented and describedsequentially, one of ordinary skill in the art will appreciate that someor all of the steps may be executed in different orders and some or allof the steps may be executed in parallel. Further, in one or moreembodiments, one or more of the steps described below may be omitted,repeated, and/or performed in a different order. Accordingly, thespecific arrangement of steps shown in FIG. 2 should not be construed aslimiting the scope of the embodiments.

In Step 200, a request to be navigated to a destination is received fromthe user, in accordance with one or more embodiments. The request may bereceived in any manner now known or later developed. The destination maybe any suitable destination and may be identified in any manner. Forexample, if the destination is a store in a mall, then the destinationmay be identified by the name of the store, the type of store, thenumber of the store, address of the store, or any other suitable metric.In one or more embodiments, the request includes the GPS coordinates ofthe destination or information necessary to obtain/access/lookup the GPScoordinates of the destination.

In one or more embodiments, the request may be received at a networkdevice, or an application executing on a network device. Alternatively,the request may be received at an application executing on a clientdevice of the user. For example, the request may be received on a clientdevice, with the user interacting with an application. The user mayindicate to the application that he or she wishes to receive directionsto the library.

In Step 205, multiple routes between the current location of the userand the destination are obtained. The routes may be generated in anymanner now known or later developed. The routes may be generated by anetwork device connected to the client device and/or by the clientdevice itself. Any number of routes may be generated, such as 1, 2, 3,10, or more. The user's current location may be determined by WiFi, orany other suitable manner. In one or more embodiments, the routesgenerated are aware of available roads, hallways, paths, and other meanswhich the user may take to arrive at their intended destination.

In Step 210, historical data about the user is accessed, in accordancewith one or more embodiments. The historical data may be gathered inmany different ways including, but not limited to: tracking userlocation(s) and time spent at the location(s), purchase histories,questionnaires, profiling, social networking sites where the user has aprofile, and/or any other source. The historical data may be gatheredover any amount of time, from just the preceding seconds, previouscouple hours, to years prior. In one or more embodiments, the historicaldata may come from more than one source. In one or more embodiments,historical data for a group of people may be linked to a single user.For example, if a couple shares a smartphone, the couple may be treatedas one person for the purposes of gathering data. Alternatively, oneuser may be tracked as multiple people if, for example, the user hasmultiple different smartphones. The historical data may be accessed by anetwork device connected to the client device and/or by the clientdevice itself.

In Step 215, commercial interests of the user are determined using thehistorical data, in accordance with one or more embodiments. Thecommercial interests may be determined in any manner now known or laterdeveloped. The commercial interests may be determined based off of thecollected historical data of the user. For example, if a user spendslots of time in a book store, a commercial interest of the user may bebooks, reading, current events, and/or any other interest that may berelated to spending time in a bookstore. In one or more embodiments, thecommercial interests of the user may be subdivided into, for example,long-term and short-term interests. An example of a long-term interestmay be a hobby of the user, such as surfing, while a short-term interestmay be hunger (based on time of day, for example). It will be apparentto one of ordinary skill in the art that there are many ways todetermine commercial interests and that a user may have any amount ofcommercial interests and, as such, embodiments should not be limited tothe above examples. The commercial interests may be determined by anetwork device connected to the client device and/or by the clientdevice itself.

In Step 220, the routes are ranked, in accordance with one or moreembodiments. The routes may be ranked based on any number of factors.The factors which may be considered include, but are not limited to:distance, expected arrival time, businesses/vendors/shops/etc. along theroute, the commercial interests of the user, time of day, user's(recent) purchase history, traffic, events, accessibility, and/or anyother suitable factor. Each of the various factors for consideration maybe weighted. The weighting may be set by the user(s), owners of the WiFinetwork, manufacturers, and/or any other suitable person or entity. Theroutes may be ranked by a network device connected to the client deviceand/or by the client device itself.

In Step 225, the user is directed to the destination according to thehighest ranked route. The user may be directed in any manner now knownor later developed. For example, a series of step by step instructionsmay be provided (e.g., turn left in 50 feet), a map may be shown withthe user's current location and the destination shown, audio may beused, and/or any other suitable method. Specifically, the user will bedirected to his or her intended destination and will pass by location(s)of commercial interest to the user, based on their past actions.

In an embodiment, ranking of various routes may be skipped. For example,a first identified route, from a set of applicable routes in a mall,which includes a store determined to be commercial interest to a user isselected.

In an embodiment, while a user is being routed on a particular route, acommercial interest of the user is identified. For example, while theuser is walking along the particular route, the user stops in front of ashoe store for teens. One or more network devices determine that theuser's cell phone has stopped moving and is located in front of a windowdisplaying boots typically advertised to or worn by teens. Based on thepause (e.g., user window shopping), a determination is made that theuser is interested in purchasing boots. As a result of the pause infront of the store that was indicative of a commercial interest, thesystem then modifies the particular route to route the user pastadditional stores that sell boots (or shoes for teens).

The following section describes various examples. The examples areincluded to aid in the understanding of the embodiments and are notintended to limit the scope of the embodiments.

As a first example, a user is visiting a mall near their home. The userhas been to the mall many times before. The mall has free public WiFi towhich the user's smartphone automatically connects. During each of theuser's prior visits to the mall, the location of the user, and theduration of time the user spent in each store was tracked via the WiFi.The money spent by the user at each store may also be accessed from thefinancial records of the user. Thus, historical data was collected aboutthe user, and may be used to determine the commercial interests of theuser, based on which stores the user spent the most amount of timeand/or money in. In this example, the user spent the most time or moneyin electronics stores, and therefore a commercial interest of the useris determined to be electronics. However, on this particular trip, theuser is trying to buy a gift for his mother, and sends a request to benavigated to a kitchen store in the mall.

Various routes are generated to direct the user to the kitchen store:Route1 will take 3 minutes and passes the food court; Route2 will take 4minutes and passes a new electronics store; and Route3 will take 5minutes and passes a clothing store. The three routes are ranked basedon a variety of factors, such as total distance, estimated arrival time,and/or any other suitable factors. Based on these simple parameters, thethree routes are nearly identical. However, when commercial interest(electronics) is considered, Route2 receives a much higher ranking, asRoute2 is the only route that would take the user by a store relevant tohis commercial interests. Thus, Route2 receives the highest ranking, andis selected for navigating the user to the kitchen store. As the user isfollowing the instructions for reaching the kitchen store, he passes thenew electronics store and is so excited to see a new electronics storethat he rushes in to see what the store is selling.

As a second example, a user is in a casino that has free WiFi forguests. The user has a smartphone, which is connected to the free WiFi.Thus, the user is tracked while he is sitting in the bar at the casino,drinking. After spending five hours in the bar, the user sends a requestto be navigated to the pool. Based on spending five hours in the bar, acommercial interest of the user is determined to be food—so that theuser may possibly sober up a bit. In response to the user's request,routes are generated: Route1 takes the user by the shops on the way tothe pool, while Route2 takes the user by the food court on the way tothe pool. Thus, when the two routes are ranked, Route2 is determined tobe the highest ranking route because it takes the user past the foodcourt. Thus, the user is directed to the pool via Route2. As the userfollows the navigation instructions, he walks straight into the middleof the food court. In his inebriated state, the food court smellsamazing, and he immediately forgets he ever wanted to go to the pool,and orders a large pizza.

Embodiments may be implemented on virtually any type of computing systemregardless of the platform being used. For example, the computing systemmay be one or more mobile devices (e.g., laptop computer, smart phone,personal digital assistant, tablet computer, or other mobile device),desktop computers, servers, blades in a server chassis, or any othertype of computing device or devices that includes at least the minimumprocessing power, memory, and input and output device(s) to perform oneor more embodiments. For example, as shown in FIG. 3, the computingsystem (300) may include one or more computer processor(s) (302),associated memory (304) (e.g., random access memory (RAM), cache memory,flash memory, etc.), one or more storage device(s) (306) (e.g., a harddisk, an optical drive such as a compact disk (CD) drive or digitalversatile disk (DVD) drive, a flash memory stick, etc.), and numerousother elements and functionalities. The computer processor(s) (302) maybe an integrated circuit for processing instructions. For example, thecomputer processor(s) may be one or more cores, or micro-cores of aprocessor. The computing system (300) may also include one or more inputdevice(s) (310), such as a touchscreen, keyboard, mouse, microphone,touchpad, electronic pen, or any other type of input device. Further,the computing system (300) may include one or more output device(s)(308), such as a screen (e.g., a liquid crystal display (LCD), a plasmadisplay, touchscreen, cathode ray tube (CRT) monitor, projector, orother display device), a printer, external storage, or any other outputdevice. One or more of the output device(s) may be the same or differentfrom the input device(s). The computing system (300) may be connected toa network (312) (e.g., a local area network (LAN), a wide area network(WAN) such as the Internet, mobile network, or any other type ofnetwork) via a network interface connection (not shown). The input andoutput device(s) may be locally or remotely (e.g., via the network(312)) connected to the computer processor(s) (302), memory (304), andstorage device(s) (306). Many different types of computing systemsexist, and the aforementioned input and output device(s) may take otherforms.

Software instructions in the form of computer readable program code toperform embodiments may be stored, in whole or in part, temporarily orpermanently, on a non-transitory computer readable medium such as a CD,DVD, storage device, a diskette, a tape, flash memory, physical memory,or any other computer readable storage medium. Specifically, thesoftware instructions may correspond to computer readable program codethat when executed by a processor(s), is configured to performembodiments.

Further, one or more elements of the aforementioned computing system(300) may be located at a remote location and connected to the otherelements over a network (312). Further, embodiments may be implementedon a distributed system having a plurality of nodes, where each portionof the embodiments may be located on a different node within thedistributed system. In one embodiment, the node corresponds to adistinct computing device. Alternatively, the node may correspond to acomputer processor with associated physical memory. The node mayalternatively correspond to a computer processor or micro-core of acomputer processor with shared memory and/or resources.

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments can be devised whichdo not depart from the scope of the invention as disclosed herein.Accordingly, the scope of the invention should be limited only by theattached claims.

1. A non-transitory computer readable medium comprising instructionswhich, when executed by one or more processors, cause performance ofoperations comprising: receiving a request from a user for directions toa destination; determining, based on historical user data, a commercialinterest of the user; automatically selecting a first route of travel,of a plurality of routes of travel, based at least on a location relatedto the commercial interest being present on the first route; anddirecting the user to the destination according to the first route. 2.The medium of claim 1, wherein selecting the first route from theplurality of routes comprises: identifying the first route and a secondroute of travel as candidates for directing the user to the destination,wherein the second route does not pass by the location related to thecommercial interest; and ranking the first route and the second routebased at least on whether the location related to the commercialinterest is on the first route and the second route.
 3. The medium ofclaim 1, wherein the instructions which, when executed by the one ormore processors, further causes performance of operations comprising:determining, in real-time during travel over the first route, a secondtype of commercial interest of the user; and modifying the first routefor travel by a location associated with the second type of commercialinterest.
 4. The medium of claim 3, wherein the second type ofcommercial interest is different from the commercial interest where thelocation of the commercial interest is used in the selecting of thefirst route.
 5. The medium of claim 1, wherein the commercial interestis determined at least in part by either a time of year or a time ofday.
 6. The medium of claim 1, wherein the historical user datacomprises purchase data of the user.
 7. The medium of claim 1, whereinthe historical user data comprises an amount of time spent in a store bythe user.
 8. The medium of claim 1, wherein the historical user datacomprises a response to a questionnaire by the user.
 9. The medium ofclaim 1, wherein the user is located in a shopping mall, ad thedestination is a business within the shopping mall.
 10. The medium ofclaim 1, wherein the plurality of historical data is gathered by anetwork device using WiFi.
 11. A system comprising: at least one networkdevice including a hardware processor; the system being configured toperform operations comprising: receiving a request from a user fordirections to a destination; determining, based on historical user data,a commercial interest of the user; automatically selecting a first routeof travel, of a plurality of routes of travel, based at least on alocation related to the commercial interest being present on the firstroute; and directing the user to the destination according to the firstroute.
 12. The system of claim 11, wherein selecting the first routefrom the plurality of routes comprises: identifying the first route anda second route of travel as candidates for directing the user to thedestination, wherein the second route does not pass by the locationrelated to the commercial interest; and ranking the first route and thesecond route based at least on whether the location related to thecommercial interest is on the first route and the second route.
 13. Thesystem of claim 11 being configured to perform operations comprising:determining, in real-time during travel over the first route, a secondtype of commercial interest of the user; and modifying the first routefor travel by a location associated with the second type of commercialinterest
 14. The system of claim 11, wherein the commercial interest isdetermined at least in part by a time of day or a time of year.
 15. Thesystem of claim 11, wherein the historical user data comprises purchasedata of the user.
 16. The system of claim 11, wherein the historicaluser data comprises an amount of time spent in a store by the user. 17.The system of claim 11, wherein the second type of commercial interestis different from the commercial interest where the location of thecommercial interest is used in the selecting of the first route.
 18. Thesystem of claim 11, wherein the user is located in a shopping mall, andthe destination is a business within the shopping mall.
 19. The systemof claim 11, wherein the plurality of historical data is gathered by anetwork device using WiFi.
 20. A method comprising: receiving, by anetwork device, a request from a user for directions to a destination;determining by the network device, based on historical user data, acommercial interest of the user; selecting a first route of travel, of aplurality of routes of travel, based at least on a location related tothe commercial interest being present on the first route; and directingthe user to the destination according to the first route by the networkdevice when the first route is selected by the network device based atleast one the location related to the commercial interest, wherein themethod is performed by at least one device including a hardwareprocessor.